package xkp.lesson4;

public class Outer{
	private int age;
	public void fun(){
		int num = 100;
		//我也是局部内部类
		//我只能在当前方法内可见
		class Inner{
			void fun2() {
				//内部类可以修改成员变量的值
				age = 222;
				//内部类不能修改局部变量的值
				System.out.println(num++);
			}
		}
		
		{
			//在一个方法内的代码块是局部代码块
			//只有调用我这个方法时，才执行
			//也可以有多个
			//我只能在当前局部代码块中可见
			class Inner2{
				
			}
			
			int num2 = 200;
		}
	}
	
	{
		//直接在类中的非静态代码块为构造代码块，在构造方法前运行
		//可以有多个
		//我只在当前代码块内可见
		class Inner{
			
		}
		
		Inner inner = new Inner();
	}
	
	{
		//由于Inner是局部内部类，所以此处看不到Inner
		//Inner inner = new Inner();
	}

}
